# coding: utf-8

from enum import unique

from common.constant import StatusEnum

CallResultDisplay = {
    'ANSWERED': '通话成功',
    'BUSY': '被叫忙',
    'NO_ANSWER': '被叫无应答',
    'REJECT': '被叫拒接',
    'HANGUP': '主叫提前挂机',
    'INVALID_NUMBER': '空号',
    'POWER_OFF': '关机',
    'UNAVAILABLE': '暂时无法接听',
    'SUSPEND': '停机',
    'TP_NO_BINDING': '无绑定关系',
    'TP_TIMEOUT': '号码查询接口超时',
    'BLACK': '黑名单号码',
    'TP_ERROR': '号码查询接口解析错误',
    'CALLED_BLACK': '被叫不支持',
    'CALL_FORWARD': '呼叫转移',
    'OTHER': '其他失败情形',
}


@unique
class VirtualNumberValid(StatusEnum):
    INVALID = (0, '失效')
    VALID = (1, '有效')


@unique
class VirtualSmsMessageResult(StatusEnum):
    SUCCESS = ('0', '发送成功')
    FAIL = ('3000-900001', '没有绑定关系')
    TIMEOUT = ('3000-900002', '查询接口超时')
    ERROR = ('3000-900003', '查询接口异常')


# 移客通话单推送的内容可能为空，数据库设置为datetime，需要过滤一下
filter_key_list = [
    'begin_time',
    'alerting_time',
    'connect_time',
    'release_time',
]


# 上传的IVR语音文件与移客通的文件名映射，仅记录备用
IVR_MAP = {
    'IVR_1011.wav': '33420171011172644.wav', # 该客户来自万屏汇
    'IVR_1018.wav': '33420171018125550.wav', # 无绑定关系
    'IVR_1018_2.wav': '33420171018172733.wav', # 获取信息来源非法
    'IVR_1106.wav': '33420171106110523.wav', # 超时未联系客户
    'IVR_20180525.wav': '33420180525141430.wav', # 提示工程商使用抢单号码拨打
}
